package com.deruan.hotcore.resource.model;

import org.columba.ristretto.message.Attributes;
import org.columba.ristretto.message.Flags;
import org.columba.ristretto.message.Header;

public interface IResourceHeader {
	/* (non-Javadoc)
	 * @see org.columba.mail.message.HeaderInterface#count()
	 */int count();

	/* (non-Javadoc)
	 * @see org.columba.mail.message.HeaderInterface#getFlags()
	 */Flags getFlags();

	/**
	 * Note: Don't use this method anymore when accessing
	 * attributes like "columba.size", use getAttribute() instead
	 *
	 */
	Object get(String s);

	/* (non-Javadoc)
	 * @see org.columba.mail.message.HeaderInterface#set(java.lang.String, java.lang.Object)
	 */void set(String s, Object o);

	/**
	 * @return
	 */
	Header getHeader();

	/**
	 * @return
	 */
	Attributes getAttributes();

	/**
	 * @param attributes
	 */
	void setAttributes(Attributes attributes);

	/**
	 * @param flags
	 */
	void setFlags(Flags flags);

	/**
	 * @param header
	 */
	void setHeader(Header header);

	Boolean hasAttachments();
	
	public Object clone();
}
